using System;
using System.Data;
using System.Collections;
using System.Collections.Generic;

namespace GiftNet.IDAL
{
    #region dbo.ShipCountry IDAL -(by fangyifeng at 2010-12-27 12:00:12)
    public interface IShipCountry
    {
        /// <summary>
        /// Check exists for PrimaryKey
        /// </summary>
        bool Exists(Guid ShipCountryId);

        /// <summary>
        /// Add record for model
        /// </summary>
        bool Add(GiftNet.Model.ShipCountry ShipCountrymodel);


        /// <summary>
        /// Add record for model, and return the key object
        /// </summary>
        object AddWithReturnKey(GiftNet.Model.ShipCountry ShipCountrymodel);


        /// <summary>
        /// Update record for model		
        /// </summary>
        bool Update(GiftNet.Model.ShipCountry ShipCountrymodel);

        /// <summary>
        /// Delete record for PrimaryKey
        /// </summary>
        bool Delete(Guid ShipCountryId);

        /// <summary>
        /// Delete record 
        /// </summary>
        bool Delete(GiftNet.Model.ShipCountry ShipCountrymodel);

        /// <summary>
        /// Get Model fro PrimaryKey
        /// </summary>
        GiftNet.Model.ShipCountry GetModel(Guid ShipCountryId);

        /// <summary>
        /// Get ModelList fro Where no suppose Page
        /// </summary>
        /// <param name="strWhere">strWhere,need insert KeyWord->WHERE IF you need this Param</param>
        /// <param name="strOrderBy">strOrderBy,need insert KeyWord->Order By IF you need this Param</param>
        /// <returns>IList&lt;GiftNet.Model.ShipCountry&gt;</returns>
        IList<GiftNet.Model.ShipCountry> GetModelList(string strWhere);

        /// <summary>
        /// Get ModelList fro Where suppose Page
        /// </summary>
        /// <param name="PageSize">PageSize</param>
        /// <param name="PageIndex">PageIndex</param>
        /// <param name="recordCount">recordCount</param>
        /// <param name="strWhere">strWhere</param>
        /// <returns>IList&lt;GiftNet.Model.ShipCountry&gt;</returns>
        IList<GiftNet.Model.ShipCountry> GetModelList(int PageSize, int PageIndex, out int recordCount, string strWhere);
    }
    #endregion
}

